查看原文
其他

Qt for Android应用开发

智果芯 果果小师弟 2022-07-15

点击上方“果果小师弟”,选择“置顶/星标公众号

干货福利,第一时间送达!


摘要:昨天分享了如何利用QT制作一个安卓手机APP,虽然很简单,但是如果想顺利的在手机上面跑起来还是需要正确的安装好qt的。今天就说一下如何正确的搭建QT for Android的环境!

所需软件

1、安装 Qt 5.13.2

qt-opensource-windows-x86-5.13.2.exe 软件下载链接:

http://download.qt.io/archive/qt/5.13/5.13.2/

双击 qt-opensource-windows-x86-5.13.2.exe  进入安装界面,其中有如下所示一步需要输入Qt 账号,如果不想输入账号信息,可以在断网状态下进行安装。我是注册了账号的,默认安装,在下面一步,具体选项如下所示:

如果电脑空间富余,建议全选安装。然后默认下一步继续安装至结束。

2、安装JDK、SDK、NDK

这个是必须安装的,我们要想在QTcreater编译器下运行安卓设备就必须安装这三个包,因为默认编译器中是没有这三个包的环境的。

1、安装JDK

JDK 软件下载链接:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

下载之后双击傻瓜式安装即可。

2、SDK下载

SDK 下载链接:

https://www.androiddevtools.cn/

3、NDK下载

NDK 下载链接:

https://developer.android.google.cn/ndk/downloads/

打开链接之后滑到最下方点击不受支持的NDK下载

然后选择android-ndk-r18b-windows-x86_64.zip

4、解压SDK和NDK

下载的SDK和NDK是压缩包,解压

然后打开android-sdk-windows文件夹,运行SDK Manager.exe软件

我的SDK安装如下内容:

NDK是不需要操作啥的。之后打开Qt Creater软件,选择菜单 工具-->选项 进入配置界面。将安装的JDK、SDK、NDK定位到相应的位置即可。

注意:Qt Android 环境对SDK 、 NDK、 JDK版本要求较高,建议选择上述已验证过环境。否则可能会出现各种问题。

3、Qt 创建工程

新建工程。选择Qt Widgets Application  , 选择 Choose 进入下一步。

填写工程名称并选择工程所在路径:

构建工具选择qmake即可。

Base class 随便选一个皆可:

构建套件(Kits)选择:

选择版本控制工具,如果无,选择默认即可,点击完成

main.cpp文件中添加如下代码,解决Qt应用在Android手机中显示比例不对的问题,实现自适应高分辨率。

#if (QT_VERSION >= QT_VERSION_CHECK(5,9,0))    
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

在UI设计界面添加一Label,修改其字体和文本。

Android手机通过数据线连接至电脑,开启开发人员选项->USB 调试。

点击运行。

4、运行结果

点击运行之后,开始编译,但是QT第一次编译Android应用是会非常的慢,因为要下载一些Android应用的包,但是一般情况下下载都非常慢。所以我们这里选择提前把包下载好。之后把它解压到:

C:\Users\LiuYao\.gradle\wrapper\dists\gradle-4.6-bin\4jp4stjndanmxuerzfseyb6wo

LiuYao是我电脑的用户名,安装路径都是一样的。只需要把它放在你电脑的这个位置就可以了!

手机端提示安装软件,安装完毕之后,运行效果如下:

最后要说的是虽然利用QT写一个APP很容易,基本不需要掌握java语言,对于想玩APP但又不会java的同学来说是一个福利,但QT毕竟不是专业做Android的,如果你想开发一个漂亮的APP可以用Android studio。QT写app不是绕开JAVA,只是Qt帮你生成了。qt中也有java的东西,但是你用Qt For Android是完全不用关心java,你也写不到一句java,全部用C++写你的程序即可,QT会直接帮你打包成apk的。

后台回复:qt安卓,即可获取本文所需的安装包


End

推荐好文  点击蓝色字体即可跳转
【收藏】烂大街的ESP82666该咋玩
【物联网】IOT你真的懂吗?
【鸡汤】分享是程序员必备的素质
【鸡汤】如何做一名合格的研究生?
【鸡汤】一个普通人的大学四年
【干货】基于STM32的PS2遥控小车
【干货】基于QT的安卓手机蓝牙APP开发
原创不易,欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存